Custom Error পৃষ্ঠা তৈরি করা

Web Development - এএসপি ডট (ASP.Net) - Logging এবং Error হ্যান্ডলিং |

Custom Error পৃষ্ঠা ব্যবহারকারীদেরকে অ্যাপ্লিকেশনের ত্রুটির কারণে তারা যেখানে পৌঁছাতে পারেন, সেখানে একটি ব্যবহারকারী-বান্ধব এবং কাস্টমাইজড পৃষ্ঠা দেখানোর জন্য ব্যবহৃত হয়। ASP.Net Core অ্যাপে, আপনি Custom Error পৃষ্ঠা তৈরি করতে পারেন যা ব্যবহারকারীদেরকে একটি সঠিক ত্রুটি বার্তা প্রদর্শন করবে এবং অ্যাপ্লিকেশনটি বন্ধ না করে তাদেরকে আরও সহায়তা করবে।


Custom Error পৃষ্ঠা তৈরি করার উদ্দেশ্য

  • ভুল ইনপুট বা ফর্ম ভ্যালিডেশন: যদি ব্যবহারকারী কোনো ভুল ইনপুট প্রদান করে, একটি কাস্টম ত্রুটি পৃষ্ঠা তাদেরকে কি সমস্যা হয়েছিল তা জানিয়ে দেয়।
  • 404 Error: যখন কোনো পৃষ্ঠা বা রিসোর্স পাওয়া যায় না, তখন একটি কাস্টম 404 পৃষ্ঠা প্রদর্শন করা হয়।
  • 500 Error: সার্ভার-সংশ্লিষ্ট ত্রুটির ক্ষেত্রে কাস্টম 500 পৃষ্ঠা ব্যবহার করা হয় যা সিস্টেমের অন্তর্নিহিত ত্রুটির বার্তা প্রকাশ না করে ব্যবহারকারীর জন্য আরও পরিষ্কার বার্তা প্রদর্শন করবে।

ASP.Net Core এ Custom Error পৃষ্ঠা কনফিগারেশন

ASP.Net Core অ্যাপে Custom Error পৃষ্ঠা তৈরি করার জন্য কয়েকটি ধাপ অনুসরণ করতে হবে।

১. Startup.cs এ Error Handling কনফিগার করা

Startup.cs ফাইলে Configure মেথডে UseExceptionHandler এবং UseStatusCodePagesWithReExecute মেথডগুলো ব্যবহার করে কাস্টম ত্রুটি পৃষ্ঠা কনফিগার করতে হবে।

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();  // ডেভেলপমেন্টে ত্রুটির ডিটেইল দেখাবে
    }
    else
    {
        // প্রোডাকশনে কাস্টম ত্রুটি পৃষ্ঠা
        app.UseExceptionHandler("/Home/Error");  // সব ত্রুটি হ্যান্ডেল করবে
        app.UseHsts();  // HTTP Strict Transport Security (HSTS)
    }

    // 404 ত্রুটির জন্য কাস্টম পৃষ্ঠা
    app.UseStatusCodePagesWithReExecute("/Home/StatusCode", "?code={0}");

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

এখানে:

  • UseExceptionHandler("/Home/Error"): এটি সমস্ত এক্সেপশন হ্যান্ডেল করবে এবং ইউজারকে /Home/Error রাউটে রিডাইরেক্ট করবে।
  • UseStatusCodePagesWithReExecute("/Home/StatusCode", "?code={0}"): এই কোডটি HTTP স্ট্যাটাস কোড অনুযায়ী কাস্টম পৃষ্ঠা রেন্ডার করতে ব্যবহার করা হয় (যেমন, 404 বা 500 ত্রুটি)।

২. Controller এ Error Handling

এখন, আপনাকে HomeController বা যেকোনো অন্য কন্ট্রোলারে ত্রুটি হ্যান্ডলিং এর জন্য একটি অ্যাকশন মেথড তৈরি করতে হবে।

public class HomeController : Controller
{
    // Error পৃষ্ঠা
    public IActionResult Error()
    {
        return View();
    }

    // Status Code (404 বা 500) এর জন্য কাস্টম পৃষ্ঠা
    public IActionResult StatusCode(int code)
    {
        if (code == 404)
        {
            ViewData["ErrorMessage"] = "The page you are looking for might have been moved or deleted.";
        }
        else if (code == 500)
        {
            ViewData["ErrorMessage"] = "Oops! Something went wrong on our server. Please try again later.";
        }
        return View();
    }
}

এখানে:

  • Error() অ্যাকশনটি সকল এক্সেপশন হ্যান্ডলিংয়ের জন্য ব্যবহৃত হবে।
  • StatusCode(int code) অ্যাকশনটি কাস্টম স্ট্যাটাস কোড (যেমন 404, 500) এর জন্য ব্যবহার করা হয়।

৩. Error View তৈরি করা

এখন, আপনাকে Views/Home/Error.cshtml এবং Views/Home/StatusCode.cshtml ফাইল তৈরি করতে হবে, যেখানে আপনি কাস্টম ত্রুটি বার্তা এবং পৃষ্ঠা উপস্থাপন করবেন।

<!-- Views/Home/Error.cshtml -->
@{
    ViewData["Title"] = "Error";
}

<h1>Error Occurred</h1>
<p>Sorry, an unexpected error occurred. Please try again later.</p>
<!-- Views/Home/StatusCode.cshtml -->
@{
    ViewData["Title"] = "Error";
}

<h1>@ViewData["ErrorMessage"]</h1>
<p>The page you were looking for might have been moved or deleted.</p>

ASP.Net Core-এ 404 বা 500 Error জন্য কাস্টম পৃষ্ঠা কনফিগারেশন

UseStatusCodePagesWithReExecute এর মাধ্যমে আপনি 404 এবং 500 এর মতো ত্রুটি কোডের জন্য কাস্টম পৃষ্ঠা তৈরি করতে পারেন।

১. 404 Error পৃষ্ঠা:

আপনি যদি 404 ত্রুটি কোডের জন্য কাস্টম পৃষ্ঠা তৈরি করতে চান, তাহলে StatusCode.cshtml ফাইলের মধ্যে 404 এর জন্য একটি বিশেষ বার্তা রাখতে পারেন।

২. 500 Error পৃষ্ঠা:

500 ত্রুটি (Server Error) কোডের জন্যও আপনি বিশেষভাবে কাস্টম বার্তা বা তথ্য প্রদর্শন করতে পারেন, যাতে ব্যবহারকারী বুঝতে পারে যে এটি একটি সার্ভার সমস্যা।


সারাংশ

ASP.Net Core-এ Custom Error পৃষ্ঠা তৈরি করা খুবই সহজ এবং এটি আপনার অ্যাপ্লিকেশনকে ব্যবহারকারী-বান্ধব করে তোলে। Startup.cs ফাইলে middleware কনফিগার করে এবং ControllerViews তে ত্রুটি বার্তা সাজিয়ে, আপনি কাস্টম 404, 500 ত্রুটি এবং অন্যান্য ত্রুটি পৃষ্ঠা তৈরি করতে পারবেন। এর মাধ্যমে ব্যবহারকারীদের ভালো অভিজ্ঞতা প্রদান করা সম্ভব।

Content added By
Promotion